// 二次封装 axios

import axios from 'axios'
import store from '@/store'
import jsonBig from 'json-bigint'

// const jsonstr = '{ "id": 9223372036854775807 }'
// console.log(JSON.parse(jsonstr))
// console.log(jsonBig.parse(jsonstr))
// console.log(jsonBig.parse(jsonstr).id.toString())
const request = axios.create({
  // 基础路径
  baseURL: 'http://toutiao-app.itheima.net/',
  // transformResponse 允许自定义原始的响应数据（字符串）
  transformResponse: [function (data) {
    try {
      // 如果转换成功则返回转换的数据结果
      return jsonBig.parse(data)
    } catch (err) {
      // 如果转换失败，则包装为统一数据格式并返回
      return data
    }
  }]
})
// 请求拦截器
// Add a request interceptor
request.interceptors.request.use(function (config) {
  const user = store.state.user
  if (user) {
    config.headers.Authorization = `Bearer ${user.token}`
  }
  return config
}, function (error) {
  // Do something with request error
  return Promise.reject(error)
})
export default request
